﻿using OnDash.Mathematics.Vector;

namespace OnDash.Windowing.Common.Events;

public readonly struct MouseMoveEventArgs(Vector2 position, Vector2 delta)
{
    public float X => Position.X;
    public float Y => Position.Y;
    public Vector2 Position { get; } = position;

    public float DeltaX => Delta.X;
    public float DeltaY => Delta.Y;

    public Vector2 Delta { get; } = delta;

    public MouseMoveEventArgs(float x, float y, float deltaX, float deltaY)
        : this(new Vector2(x, y), new Vector2(deltaX, deltaY))
    {
    }
}